Alias analysis method for object-oriented programs using alias flow graphs
نویسندگان
چکیده
あらまし プログラムテキスト上の式(または部分式)の対が同一のオブジェクト(メモリ領域)を指す場合, それらの式はエイリアス関係にあるという.これらは,引数の参照渡し,参照変数,ポインタを介した間接参照 などで生じる.既存のエイリアス解析手法は,解析結果の再利用が不十分で,オブジェクト指向プログラムの持 つ再利用性がエイリアス解析に生かされていない.また,エイリアス解析手法の提案は今までいろいろなされて いるが,実用的なツールはあまり知られていない.本研究では,エイリアス解析結果の再利用およびモジュール 化を考慮した,オブジェクト指向プログラムに対するエイリアス解析手法を提案する.本手法を実現したJava エイリアス解析ツールは,JDK(Java Developers's Kit)附属クラスライブラリなどの大規模プログラムを実 用的な時間で解析することができる. キーワ ドー エイリアス,モジュール化,オブジェクト指向プログラム,Java
منابع مشابه
JAAT: A Practical Alias Analysis Tool for Java Programs
When an expression refers to a memory location that is referred to by another expression, we say that there is an alias relation between those expressions. Alias analysis, i.e, the extraction of such relations is essential for efficient maintenance of object-oriented programs. Although many researchers have already proposed analysis methods and implemented prototype tools for object-oriented pr...
متن کاملAlias Analysis for Object-Oriented Programs
We present a high-level survey of state-of-the-art alias analyses for object-oriented programs, based on a years-long effort developing industrial-strength static analyses for Java. We first present common variants of points-to analysis, including a discussion of key implementation techniques. We then describe flow-sensitive techniques based on tracking of access paths, which can yield greater ...
متن کاملFlexible Alias Protection
Aliasing is endemic in object oriented programming. Because an object can be modified via any alias, object oriented programs are hard to understand, maintain, and analyse. Flexible alias protection is a conceptual model of inter-object relationships which limits the visibility of changes via aliases, allowing objects to be aliased but mitigating the undesirable effects of aliasing. Flexible al...
متن کاملAliasing, Confinement, and Ownership in Object-Oriented Programming IWACO Workshop Report
The power of objects lies in the flexibility of their interconnection structure. But this flexibility comes at a cost. Because an object can be modified via any alias, object-oriented programs are hard to understand, maintain, and analyze. Aliasing makes objects depend on their environment in unpredictable ways, breaking the encapsulation necessary for reliable software components, making it di...
متن کاملObject Ownership for Dynamic Alias Protection
Interobject references in object-oriented programs allow arbitrary aliases between objects. By breaching objects' encapsulation boundaries, these aliases can make programs hard to understand and especially hard to debug. We propose using an explicit, run-time notion of object ownership to control aliases between objects in dynamically typed languages. Dynamically checking object ownership as a ...
متن کاملInstance keys: A technique for sharpening whole-program pointer analyses with intraprocedural information
Pointer analyses enable many subsequent program analyses and transformations, since they enable compilers to statically disambiguate references to the heap. Extra precision enables pointer analysis clients to draw stronger conclusions about programs. Flow-sensitive pointer analyses are typically quite precise. Unfortunately, flow-sensitive pointer analyses are also often too expensive to run on...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Systems and Computers in Japan
دوره 35 شماره
صفحات -
تاریخ انتشار 2004